#pragma once

#include <cstdint>
#include <string>
#include <vector>

struct cars_t {
    std::string department = "";
    std::string user       = "";
    std::string plate      = "";
    uint64_t timestamp     = 0;
    std::string attr       = "";
    std::string ip_addr    = "";
    std::string devices    = "";
};

struct events_t {
    int id                = 0;
    int type              = -1;
    uint64_t timestamp    = 0;
    std::string plate     = "";
    std::string content   = "";
    int level             = 0;
    std::string videopath = "";
    std::string imagepath = "";
};

struct records_t {
    std::string position = "";
    std::string plate    = "";
    std::string path     = "";
    uint64_t start_time  = 0;
    uint64_t end_time    = 0;
    uint64_t timestamp   = 0;
};

struct event_query_t {
    int count;
    std::vector<events_t> data;
};

struct records_query_t {
    int count;
    std::vector<records_t> data;
};

struct cars_query_t {
    int count;
    std::vector<cars_t> data;
};